#include <builtin.h>
#include <parse.h>
#include <stdio.h>
#include <stdlib.h>

void do_exit();
void do_cd();
void do_type();

BUILTIN_CMD builtins[] =
{
	{"exit",do_exit},
	{"cd",do_cd},
	{"type",do_type},
	{NULL,NULL},
};

//返回1表示内部命令，返回0表示不是内部命令。
int builtin(void)
{
	#if 0
	if(check("exit")) {
		//检查字符串是否是内部命令，如果是的话就执行相应的函数。
		do_exit();
	} else if(check("cd")) {
		do_cd();
	} else {
		return 0;
	}
	#endif
	int i = 0;
	int found = 0;
	while(NULL != builtins[i].cmd_name) {
		if(check(builtins[i].cmd_name)) {
			builtins[i].handler();
			found = 1;
			break;
		}
		i++;
	}
	return found;
}

void do_exit()
{
	//
	printf("exit\n");
	exit(EXIT_SUCCESS);
}

void do_cd()
{
	//
	printf("do_cd...\n");
}

void do_type()
{
	//
	printf("do_type...\n");
}
